m = int(input())  # 读入数据
a = [0] * 15  # 盒子


def backtracking(n, s):
    global a
    if n == 0:  # 拆分结束
        if s <= 2:  # 至少为2块
            return
        for i in range(1, s - 1):
            print("%d+" % a[i], end="")
        print(a[s - 1])
        return
    # 从1开始到n
    for i in range(1, n + 1):
        if i >= a[s - 1]:
            a[s] = i
            backtracking(n - i, s + 1)


backtracking(m, 1)
